package com.arpa.wms.service;

import com.arpa.core.web.Result;
import com.arpa.wms.domain.dto.PickItemCancelQuantityDto;
import com.arpa.wms.domain.dto.PickingRegisterDTO;
import com.arpa.wms.domain.entity.Picking;
import com.arpa.wms.domain.entity.PickingRegister;
import com.arpa.wms.domain.vo.PdaPickingRegisterVO;
import com.arpa.wms.domain.vo.PickingRegisterVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 拣货明细 服务类
 * </p>
 *
 * @author LEO
 * @since 2020-10-22
 */
public interface IPickingRegisterService extends IService<PickingRegister> {

    /**
     * 保存
     * @param entity
     * @return
     */
    @Override
    boolean save(PickingRegister entity);

    /**
     * 根据code更新实体
     * @param entity
     * @return
     */
    int updateByCode(PickingRegister entity);

    /**
     * 查询列表
     * @param pickingRegisterDTO
     * @return
     */
    List<PickingRegisterVO> queryList(PickingRegisterDTO pickingRegisterDTO);

    /**
     * 查询合计,包含总数
     * @param pickingRegisterDTO
     * @return
     */
    PickingRegisterVO queryListSum(PickingRegisterDTO pickingRegisterDTO);

    /**
     * @description
     * PDA查询拣货商品的详情列表
     * @author xuyang
     * @date 2020/10/24 11:03
     **/
    List<PickingRegisterVO> queryRegisterList(PickingRegisterDTO registerDTO);

    /**
     * @description
     * 保存，如果存在相同批次的数据，则在老数据上增加
     * @author xuyang
     * @date 2020/10/27 13:49
     * @param pickingRegister:
     **/
    Result distinctSave(PickingRegister pickingRegister);
    /**
     * 通过拣货单号获取入驻商标识
     * @author liuxr
     * @date 2021/8/25 14:42
     * @param pickItemCancelQuantityDtoList
     * @return java.lang.String
     */
    void updateCancelQuantityBatch(List<PickItemCancelQuantityDto> pickItemCancelQuantityDtoList);


    /**
     * 获取拣货确认列表
     * @author rfwang
     * @date 2022/1/21 14:42
     * @param registerDTO
     * @return
     */
    Map<String,Object> pickingRegisterList(PickingRegisterDTO registerDTO);

    /**
     * 查询拣货详情
     * @author rfwang
     * @date 2022/1/22 10:02
     * @param registerDTO
     * @return
     */
    Map<String, Object> pickingDetails(PickingRegisterDTO registerDTO);



}
